FROM iomd.iointc      IMPORT $IOINT
FROM StdParts.Misc    IMPORT $Sink
FROM StdParts.Gates   IMPORT $SGate1

BLOCK IOINT(data[7:0], la[6:2], clk2, clk32, dagint, fdrq, flybi, iiccin, iicdin, idin, iointreg, kbrx, kbtx,
           lwrite, Nfintr, Nfiqin, Niext, Nindex, Npfiq, Npirq, Nscirq, Nsintr, pintr, por, prog, rclk, ref8m,
           reset, testclk, testmux)
            =>(kcon_rd, kcon_wt, kdata_rd, kdata_wt, Neniicc, Neniicd, Nenid, Nfiq, Ninitu, Nirq)

tbdlo = $SGate1(VSS) => testbus[1] WITH (delay=ns_1,OP=BUFF)

      ioint = $IOINT(data[7:0], la[6:2], clk2, clk32, dagint, dec_conr, dec_fiqsr, dec_fiqrr,
              dec_fiqmr, dec_irqasr, dec_irqarr, dec_irqamr, dec_irqbsr, dec_irqbrr, dec_irqbmr, fdrq, flybi,
              iiccin, iicdin, idin, iointreg, irqa, irqb, kbrx, kbtx, latchtx0, latchtx1, load0, load1,
              loadtx0, loadtx1, lwrite, Nfintr, Nfiqin, Niext, Nindex, Npfiq,
              Npirq, Nscirq, Nsintr, pintr, por, prog, rclk, ref8m, reset, testbus[1],testclk,testmux,timclk,
              tim0rd, tim1rd, txch0, txch1, txcl0, txcl1, txll0, txll1, txlh0, txlh1, uftx0, uftx1)
             =>(time0[15:0], time1[15:0], iiccout, iicdout, idout, kcon_rd, kcon_wt, kdata_rd, kdata_wt,
               Neniicc, Neniicd, Nenid, Ninitu, Nfiq, Nirq)
             WITH (delay = (lch=ns_5, oe=ns_7, gt=ns_3))

      iosink = $Sink(iosunk(time0[15:0], dec_irqasr, dec_irqarr, dec_irqamr, irqa,
               dec_fiqsr, dec_fiqrr, dec_fiqmr, dec_irqbsr, dec_irqbrr, dec_irqbmr, irqb, dec_conr))

      iosnk1 = $Sink(iosnk1(latchtx1, load1, loadtx1, tim1rd, txch1, txcl1, txll1, txlh1, uftx1))
      iosnk2 = $Sink(iosnk2(latchtx0, load0, loadtx0, tim0rd, txch0, txcl0, txll0, txlh0, uftx0))
      iosnk3 = $Sink(iosnk3(time1[15:0], timclk))
      iosnk4 = $Sink(iosnk4(idout,iiccout,iicdout))

END {IOINT}

